#!/bin/bash

# 提示用户输入虚拟机名称，并检查是否已存在
while true; do
  read -p "请输入虚拟机名称：" vm_name
  if virsh list --all | grep -q "$vm_name"; then
    echo "虚拟机 $vm_name 已存在，请重新输入虚拟机名称"
  else
    break
  fi
done

# 提示用户输入内存大小
read -p "请输入内存大小（单位：MB）：" mem_size

# 提示用户输入 CPU 数量
read -p "请输入 CPU 数量：" cpu_num

# 创建虚拟磁盘文件
if qemu-img create -f qcow2 /home/API/${vm_name}_1.qcow2 100G; then
  echo "虚拟磁盘文件 /home/API/${vm_name}_1.qcow2 创建成功"
else
  echo "虚拟磁盘文件 /home/API/${vm_name}_1.qcow2 创建失败"
  exit 1
fi

if qemu-img create -f qcow2 /home/API/${vm_name}_2.qcow2 400G; then
  echo "虚拟磁盘文件 /home/API/${vm_name}_2.qcow2 创建成功"
else
  echo "虚拟磁盘文件 /home/API/${vm_name}_2.qcow2 创建失败"
  exit 1
fi

# 安装虚拟机
if virt-install --name ${vm_name} --memory ${mem_size} --vcpus ${cpu_num} --cdrom=/home/API/uniontechos-server-20-1050a-arm64-UFU.iso --disk path=/home/API/${vm_name}_1.qcow2 --disk path=/home/API/${vm_name}_2.qcow2 --graphics vnc; then
  echo "虚拟机 ${vm_name} 安装成功"
else
  echo "虚拟机 ${vm_name} 安装失败"
  exit 1
fi
